package com.smart.model.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.smart.common.domain.BaseVO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @author zhanghong
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = false)
@ApiModel("项目响应模型")
public class ProjectVO extends BaseVO implements Serializable {
    @ApiModelProperty("项目名称")
    private String projectName;
    @ApiModelProperty("项目编号")
    private String projectNumber;
    @ApiModelProperty("工程类型 ref字典表-工程类型 COMMERCIAL_HOUSING房建-商品房、AFFORDABLE_HOUSING房建-保障房、PUBLIC_BUILDINGS房建-公共建筑、INDUSTRIAL_BUILDINGS房建-工业厂房、MUNICIPAL市政、DECORATION装修、HOUSE_ALTERATION老旧小区改造")
    private String engineeringType;
    @ApiModelProperty("工程造价")
    private BigDecimal engineeringCost;
    @ApiModelProperty("施工状态 ref字典表-施工状态 UN_START未开、RUNNING在施、STOP停工、WAIT_ACCEPT完工待验、FINISH完工、DIE死活")
    private String constructionStatus;
    @ApiModelProperty("质量监督注册号")
    private String qualityRegistrationNumber;
    @ApiModelProperty("经纬度")
    private String location;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("开工日期")
    private Date startDate;
    @ApiModelProperty("建筑面积")
    private BigDecimal floorArea;
    @ApiModelProperty("街道编码")
    private String streetCode;
    @ApiModelProperty("详细地址")
    private String address;
    @ApiModelProperty("施工单位")
    private String shigongUnit;
    @ApiModelProperty("施工单位-项目负责人-姓名")
    private String shigongHeadName;
    @ApiModelProperty("施工单位-项目负责人-职务")
    private String shigongHeadJob;
    @ApiModelProperty("施工单位-项目负责人-手机")
    private String shigongHeadPhone;
    @ApiModelProperty("施工单位-项目联系人-职务")
    private String shigongContactJob;
    @ApiModelProperty("施工单位-项目联系人-姓名")
    private String shigongContactName;
    @ApiModelProperty("施工单位-项目联系人-手机")
    private String shigongContactPhone;
    @ApiModelProperty("建设单位")
    private String jiansheUnit;
    @ApiModelProperty("建设单位-项目负责人-姓名")
    private String jiansheHeadName;
    @ApiModelProperty("建设单位-项目负责人-手机")
    private String jiansheHeadPhone;
    @ApiModelProperty("监理单位")
    private String jianliUnit;
    @ApiModelProperty("监理单位-项目负责人-姓名")
    private String jianliHeadName;
    @ApiModelProperty("监理单位-项目负责人-手机")
    private String jianliHeadPhone;
    @ApiModelProperty("项目账号-项目登录用户名")
    private String account;
    @ApiModelProperty("项目账号-密码")
    private String password;
    @ApiModelProperty("审核类型 NEW新项目审核、CHANGE项目信息变更")
    private String auditType;
    @ApiModelProperty("审核状态 WAIT待审核、PASS审核通过、REJECT驳回")
    private String auditStatus;
    @ApiModelProperty("有效状态 0无效、1有效")
    private Integer valid;
    @ApiModelProperty("在场人数")
    private Integer personCount;

    @ApiModelProperty("项目周报任务id")
    private Long weeklyTaskId;
    @ApiModelProperty("项目文件任务id")
    private Long fileTaskId;

    @ApiModelProperty("建设地点")
    private String jiansheAddress;
    @ApiModelProperty("进场人次")
    private Integer inCount;
    @ApiModelProperty("离场人次")
    private Integer outCount;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("最后更新时间")
    private Date lastUpdateTime;
}
